/* eslint-disable no-use-before-define */
import axios, { type Paging, type Response } from '@/utils/axios/axios';

/** 短剧分类列表 */
export function dramaCategoryListAxios(data: { haveAll: boolean }): Promise<Response<DramaCategoryItem[]>> {
  return axios.get(`/system/dramaCategory/list`, { params: data }) as unknown as Promise<Response<DramaCategoryItem[]>>;
}

/** 新增短剧信息 */
export function dramaAddAxios(data: DramaAddRequest): Promise<Response<number>> {
  const _data: DramaAddRequest = JSON.parse(JSON.stringify(data));
  return axios.post(`/system/drama/add`, _data) as unknown as Promise<Response<number>>;
}

/** 修改短剧信息 */
export function editDamaAxios(data: DramaEditRequest): Promise<Response<DramaEditRequest>> {
  return axios.post(`/system/drama/edit`, data) as unknown as Promise<Response<DramaEditRequest>>;
}

/** 上、下架短剧 抖音,快手,微信,APP,网页 */
export function changesStatusAxios(dramaIdList: number, operationType: 0 | 1, type: string): Promise<Response<DramaEditRequest>> {
  return axios.post(`/system/drama/changesStatus`, {
    dramaIdList,
    operationType,
    type,
  }) as unknown as Promise<Response<DramaEditRequest>>;
}

/** 修改推荐状态 */
export function changeIsRecommendAxios(dramaId: number): Promise<Response<DramaEditRequest>> {
  return axios.post(`/system/drama/recommend`, { dramaId }) as unknown as Promise<Response<DramaEditRequest>>;
}

/** 删除短剧 */
export function delDamaAxios(dramaIdList: number[]): Promise<Response<DramaEditRequest>> {
  return axios.post(`/system/drama/removeIds`, { dramaIdList }) as unknown as Promise<Response<DramaEditRequest>>;
}

/** 得到标签列表 */
export function getTagListAxios(): Promise<Response<string[]>> {
  return axios.get(`/system/tags/getStrTagsList`) as unknown as Promise<Response<string[]>>;
}

/** 得到导演列表 */
export function getDirectorListAxios(): Promise<Response<DirectorItem[]>> {
  return axios.get(`/system/staff/getDirector`) as unknown as Promise<Response<DirectorItem[]>>;
}

/** 得到演员列表 */
export function getPerformerListAxios(): Promise<Response<PerformerItem[]>> {
  return axios.get(`/system/staff/getPerformer`) as unknown as Promise<Response<PerformerItem[]>>;
}

/** 得到制片人列表 */
export function getCinemanufacturerListAxios(): Promise<Response<CinemanufacturerItem[]>> {
  return axios.get(`/system/staff/getProducer`) as unknown as Promise<Response<CinemanufacturerItem[]>>;
}

/** 新增剧集（单个） */
export function addDamaEpisodeAxios(data: DramaEpisode): Promise<Response<DramaEpisode>> {
  return axios.post(`/system/dramaEpisode/add`, data) as unknown as Promise<Response<DramaEpisode>>;
}

/** 新增剧集（批量） */
export function batchAddDamaEpisodeAxios(data: BatchAddDamaEpisodeRequest): Promise<Response<DramaEpisode[]>> {
  return axios.post(`/system/dramaEpisode/batchAdd`, data) as unknown as Promise<Response<DramaEpisode[]>>;
}

/** 修改剧集(单个) */
export function editDamaEpisodeAxios(data: DramaEpisode): Promise<Response<DramaEpisode>> {
  return axios.post(`/system/dramaEpisode/edit`, data) as unknown as Promise<Response<DramaEpisode>>;
}

/** 修改剧集(批量) */
export function batchEditDamaEpisodeAxios(data: { episodeList: number[]; dramaId: number }): Promise<Response<DramaEpisode[]>> {
  return axios.post(`/system/dramaEpisode/batchEdit`, data) as unknown as Promise<Response<DramaEpisode[]>>;
}

/** 修改剧集(批量) */
export function replaceEpisodeCoverAxios(dramaId: number): Promise<Response<string>> {
  return axios.get(`/system/dramaEpisode/replaceEpisodeCover`, { params: { dramaId } }) as unknown as Promise<Response<string>>;
}

/** 删除短剧的最后一集 */
export function delDamaEpisodeAxios(episodeId: number): Promise<Response<DramaEpisode[]>> {
  return axios.delete(`/system/dramaEpisode/remove`, { params: { episodeId } }) as unknown as Promise<Response<DramaEpisode[]>>;
}

/** 得到所有短剧列表 */
export function getDamaListAxios(data: DamaListRequest): Promise<Response<Paging<DramaItem>>> {
  const _data: DamaListRequest = JSON.parse(JSON.stringify(data));
  if (_data.categoryId === -1) {
    delete _data.categoryId;
  }
  if (typeof data.status !== 'number' || ![0, 1].includes(data.status ?? -1)) {
    delete _data.status;
  }
  if (typeof data.dramaStatus !== 'number' || ![1, 2, 3].includes(data.dramaStatus ?? -1)) {
    delete _data.dramaStatus;
  }
  return axios.get(`/system/drama/page`, { params: _data }) as unknown as Promise<Response<Paging<DramaItem>>>;
}

/** 得到所有短剧列表(分销) */
export function getDramaListFxAxios(data: DamaListRequest): Promise<Response<Paging<DramaItem>>> {
  const _data: DamaListRequest = JSON.parse(JSON.stringify(data));
  if (typeof data.dramaStatus !== 'number' || ![1, 2, 3].includes(data.dramaStatus ?? -1)) {
    delete _data.dramaStatus;
  }
  return axios.get(`/system/drama/page1`, { params: _data }) as unknown as Promise<Response<Paging<DramaItem>>>;
}

/** 根据id获取短剧信息 */
export function getDramaByIdAxios(dramaId: number): Promise<Response<DramaByIdResponse>> {
  return axios.get(`/system/drama/getDramaById`, { params: { dramaId } }) as unknown as Promise<Response<DramaByIdResponse>>;
}

/** 得到短剧的剧集 */
export function getDramaEpisodeListAxios(dramaId: number): Promise<Response<DramaEpisode[]>> {
  return axios.get(`/system/dramaEpisode/getDramaEpisodeList`, { params: { dramaId } }) as unknown as Promise<Response<DramaEpisode[]>>;
}

/** 追剧统计 */
export function getChasingDramaListAxios(data: ChasingDramaListRequest): Promise<Response<Paging<ChasingDrama>>> {
  return axios.get(`/system/drama/getDramaChasingUserNum`, { params: data }) as unknown as Promise<Response<Paging<ChasingDrama>>>;
}

/** 得到机构列表 */
export function getOrganzationListAxios(data: DamaListRequest): Promise<Response<Organzation[]>> {
  return axios.get(`/system/organzation/list`, { params: data }) as unknown as Promise<Response<Organzation[]>>;
}

/** 得到合作方用户LIst */
export function getPartnerUserListAxios(data: DamaListRequest): Promise<Response<PartnerUser[]>> {
  return axios.get(`/system/appUser/getPartnerUser`, { params: data }) as unknown as Promise<Response<PartnerUser[]>>;
}

/** 付费统计 */
export function getDramaPurchaseListAxios(data: DramaPurchaseListRequest): Promise<Response<Paging<DramaPurchase>>> {
  const _data: DramaPurchaseListRequest = JSON.parse(JSON.stringify(data));
  if (![0, 1].includes(data.status ?? -1)) {
    delete _data.status;
  }
  return axios.get(`/system/drama/getDramaPayAmount`, { params: _data }) as unknown as Promise<Response<Paging<DramaPurchase>>>;
}

/** 得到剧集分析 */
export function getDramaEpisodeAnalyseAxios(data: GetDramaEpisodeAnalyseRequest): Promise<Response<Paging<TradeOrderViewEfficiency>>> {
  return axios.get(`/system/TradeOrderEfficiencyAPI/page`, { params: data }) as unknown as Promise<Response<Paging<TradeOrderViewEfficiency>>>;
}

/** 发布至第三方平台 */
export function publishToThirdPartyPlatforms(data: PushThirdPlatform): Promise<Response> {
  return axios.post(`/system/drama/pushThirdPlatform`, data) as unknown as Promise<Response>;
}

/** 发布详细信息 */
export function dramaPublishDetails(data: PushThirdPlatform): Promise<Response<DramaPushRecordResponse>> {
  return axios.get(`/system/drama/getDramaPushDetails`, { params: data }) as unknown as Promise<Response<DramaPushRecordResponse>>;
}

/** 同步视频上传状态 */
export function syncVideoStatus(data: { dramaId: number }): Promise<Response<string>> {
  return axios.post(`/system/dramaPush/syncVideoStatus`, data) as unknown as Promise<Response<string>>;
}

/** 创建短剧 */
export function createDrama(data: { dramaPushId: number }): Promise<Response<string>> {
  return axios.post(`/system/dramaPush/createDrama`, data) as unknown as Promise<Response<string>>;
}

/** 同步第三方短剧信息 */
export function syncThirdDramaInfo(data: { dramaPushId: number }): Promise<Response<string>> {
  return axios.post(`/system/dramaPush/syncThirdDramaInfo`, data) as unknown as Promise<Response<string>>;
}

/** 同步第三方剧集信息 */
export function syncThirdEpisode(data: { dramaPushId: number }): Promise<Response<string>> {
  return axios.post(`/system/dramaPush/syncThirdEpisode`, data) as unknown as Promise<Response<string>>;
}

/** 提交审核 */
export function submitDramaVerify(data: { dramaPushId: number }): Promise<Response<string>> {
  return axios.post(`/system/dramaPush/submitDramaVerify`, data) as unknown as Promise<Response<string>>;
}

/** 更新剧集视频 */
export function updateEpisodeVideo(data: { episodePushId: number; episodeId: number }): Promise<Response<string>> {
  return axios.post(`/system/dramaPush/updateEpisodeVideo`, data) as unknown as Promise<Response<string>>;
}

/** 短剧授权 */
export function dramaAuth(data: { dramaId?: number[]; socialId: number; platform: string }): Promise<Response<string>> {
  return axios.post(`/system/social/auth`, data) as unknown as Promise<Response<string>>;
}

/** 短剧授权 */
export function getUnSkitLicensing(socialId: string): Promise<Response<{ dramaId: number; dramaTitle: string }[]>> {
  return axios.get(`/system/social/getUnSkitLicensing`, { params: { socialId } }) as unknown as Promise<Response<{ dramaId: number; dramaTitle: string }[]>>;
}

/** 短剧付费排行 */
export function getDramaRankList(data: DramaRankListRequest): Promise<Response<Paging<DramaRankListItem>>> {
  return axios.get(`/system/drama/rank`, { params: data }) as unknown as Promise<Response<Paging<DramaRankListItem>>>;
}

/** 一键更新剧集视频 */
export function updateOneClickEpisodeVideo(data: UpdateOneClickEpisodeVideoVo): Promise<Response<string>> {
  return axios.post(`/system/dramaPush/updateOneClickEpisodeVideo`, data) as unknown as Promise<Response<string>>;
}

export function syncDramaRealizationMoney(data: UpdateOneClickEpisodeVideoVo): Promise<Response<string>> {
  return axios.post(`/system/dramaPush/syncDramaRealization`, data) as unknown as Promise<Response<string>>;
}

export function DramaReal(data: UpdateOneClickEpisodeVideoVo): Promise<Response<string>> {
  return axios.post(`/system/drama/setDramaRealization`, data) as unknown as Promise<Response<string>>;
}


/** 一键更新剧集视频 VO */
export type UpdateOneClickEpisodeVideoVo = {
  dramaPushId: number;
};

/** 腾讯类目管理 */
export function getCategoryTree() {
  return axios.get(`/system/tencentCategory/getCategoryTree`);
}

/** 腾讯类目详细信息 */
export function getDramaDetailById(dramaId: number | string) {
  return axios.get(`/system/dramaDetail/getDramaDetailById`, { params: { dramaId } });
}

/** 腾讯类目修改短剧类目 */
export function updateDramaCategory(data: any) {
  return axios.put(`/system/dramaDetail/updateDramaCategory`, data);
}

/** 订单列表星图数据导出 */
export function dramaExport(data?: any) {
  return axios.get(`/system/TradeOrderEfficiencyAPI/exportExcel`, {params: data, responseType: 'blob'}) as unknown as Blob;
}

export type PerformerItem = {
  staffHeadImage: string;
  staffId: string;
  staffName: string;
  staffDesc: string;
  staffSex: 0 | 1 | 2;
};

export type CinemanufacturerItem = {
  staffHeadImage: string;
  staffId: string;
  staffName: string;
  staffSex: 0 | 1 | 2;
};

export type DirectorItem = {
  staffHeadImage: string;
  staffId: string;
  staffName: string;
  staffSex: 0 | 1 | 2;
};

export type Organzation = {
  /** 机构id */
  organizationId: number;
  /** 机构名称 */
  organizationName: string;
};

export type BaseDramaEpisode = {
  /** 短剧id */
  dramaId?: number;
  /** 封面图 */
  episodeCover: string;
  /** 剧集标题 */
  episodeTitle?: string | null;
  /** 剧集播放地址 */
  episodeUrl: string;
  /** 第一帧地址 */
  frameUrl: string;
};

export type DramaEpisode = BaseDramaEpisode & {
  /** 剧集id  */
  episodeId?: number;
  /** 第几集 */
  episodeSeq?: number;
};

export type BatchAddDamaEpisodeRequest = {
  /** 短剧id */
  dramaId: number;
  /** 剧集集合 */
  episodeList: BaseDramaEpisode[];
};

export type ChasingDramaListRequest = {
  /** 当前页 */
  current: number;
  /** 每页数量 */
  size: number;
  /** 短剧分类id */
  categoryId?: 1 | 2 | 3;
  /** 短剧更新状态：1-未上映；2-更新中；3-已完结；  */
  dramaStatus?: 1 | 2 | 3;
  /** 短剧名称  */
  dramaTitle?: string;
  /** 上架状态：0-下架；1-上架中 */
  status?: 0 | 1;
  /** 短剧更新状态文字 */
  dramaStatusDesc?: string | null;
};

export type ChasingDrama = BaseDrama & {
  /** 追剧人数 */
  chasingUserNum: number;
};

export type GetDramaEpisodeAnalyseRequest = {
  /** 当前页 */
  current: number;
  /** 每页数量 */
  size: number;
  /** 剧集id */
  episodeId?: number;
  /** 短剧名称  */
  dramaTitle?: string;
};

export type DramaPurchaseListRequest = {
  /** 当前页 */
  current: number;
  /** 每页数量 */
  size: number;
  /** 短剧分类id */
  categoryId?: number;
  /** 短剧更新状态：1-未上映；2-更新中；3-已完结；  */
  dramaStatus?: number;
  /** 短剧名称  */
  dramaTitle?: string;
  /** 上架状态：0-下架；1-上架中 */
  status?: 0 | 1;
  /** 短剧更新状态文字 */
  dramaStatusDesc?: string | null;
};

export interface TradeOrderViewEfficiency {
  /**
   * 短剧id
   */
  dramaId?: number;
  /**
   * 剧集名称
   */
  dramaTitle?: string;
  /**
   * 第几集
   */
  episodeSeq?: number;
  /**
   * 首冲支付率(去重)
   */
  FirstFlushPayment?: number;
  /**
   * 下单数
   */
  LowerSingular?: number;
  /**
   * 支付模版调用次数
   */
  paymentTemplateCalls?: number;
  /**
   * 支付率(去重)
   */
  PayoutRate?: number;
  /**
   * 下单率
   */
  PlaceOrderRate?: number;
  /**
   * 复冲支付率(去重)
   */
  RedieVersionCall?: number;
  /**
   * 留存率
   */
  RetentionRate?: number;
  /**
   * 流失率
   */
  WastageRate?: number;
}

type BaseDrama = {
  /** 导演（多个逗号隔开） */
  director: string;
  /** 短剧分类名称（多个逗号隔开） */
  dramaCategoryName: string;
  /** 短剧封面图（多个逗号隔开） */
  dramaCover: string;
  /** 短剧更新状态：1-未上映；2-更新中；3-已完结； */
  dramaStatus: number;
  /** 短剧名称 */
  dramaTitle: string;
  /** 演员（多个逗号隔开） */
  performer: string;
  /** 上架状态：0-已下架；1-已上架；  */
  status: number;
};

export type DramaPurchase = BaseDrama & {
  /** 收入总金额 */
  totalAmount: number;
  /** 全集解锁价格（人民币） */
  allEpisodePrice: number;
  /** 全集虚拟币价格  */
  allEpisodeVirtualCoin: number;
  /** 短剧更新状态：1-未上映；2-更新中；3-已完结； */
  dramaStatusDesc: string;
  /** 单集价格（人民币）  */
  price: number;
  /** 总集数  */
  seqNum: number;
  /** 上架状态：0-已下架；1-已上架；  */
  statusDesc: string;
  /** 标签（多个逗号隔开） */
  tags: string;
  /** 单集虚拟币价格 */
  virtualCoin: number;
};

export type DramaCategoryItem = {
  /** 短剧分类id */
  categoryId: number;
  /** 短剧分类名称 */
  categoryName: string;
};

export interface DramaAddRequest {
  /** 全集解锁价格（人民币） */
  allEpisodePrice: number | null;
  /** 短剧分类集合 */
  categoryList: DramaCategoryItem[];
  /** 合作方昵称 */
  partnerNickname: string | null;
  /** 合作方ID */
  partnerUserId: number | null;
  /** 短剧封面图  */
  dramaCover: string;
  /** 短剧简介 */
  dramaDesp: string;
  /** 短剧id  */
  dramaId?: number;
  /** 短剧推荐语  */
  dramaRecommendation: string;
  /** 短剧名称 */
  dramaTitle: string;
  /** 短剧年份  */
  dramaYear: string;
  /** 免费集数  */
  freeEpisodeNum: number | undefined;
  /** 短剧是否免费：0-不免费；1-免费； */
  isFree: number;
  /** 演员 */
  performerList: string[];
  /** 导演信息 */
  directorInfo?: Director | null;
  /** 单集价格（人民币）  */
  price: number | null;
  /** 总集数 */
  seqNum: number | undefined;
  /** 标签 */
  tagsList: string[];
  /** 平均时长（单位：秒） */
  avgDuration: number | null;
  /** 成本配置比例情况图 */
  costDistributionUri: string;
  /** 演员角色集合 */
  performerRoleList: PerformerRole[];
  /** 制片人信息（多个逗号隔开）  */
  producerInfo: Cinemanufacturer | null;
  /** 制作成本（单位：万） */
  productionCost: number | null;
  /** 制作机构名称 */
  organizationName: string;
  /** 报备号 */
  reportNo: string | null;
  /** 短剧海报缩略图 */
  dramaCoverThumb: string;
  /** 抖音封面图 */
  dramaCoverDyImage: string;
  /** 抖音承诺书 */
  commitmentStatement?: string;
  /** 授权证明 */
  authorizedUrl: string;
  /** 微信成本配置比例情况图 */
  wechatCostDistributionUri: string;
}

export type BasePersonnel = {
  /** 姓名  */
  name: string;
  /** 头像 */
  staffHeadImage: string;
  /** 人员性别 0-未知；1-男；2-女； */
  staffSex: 0 | 1 | 2;
};

/** 演员角色集合  */
export type PerformerRole = BasePersonnel & {
  /** 角色 */
  role: string;
  /** 人员类型：1-导演；2-制片人；3-主演；4：演员； */
  staffType: 3 | 4;
  /** 人员简介 */
  staffDesc: string;
};
export type Cinemanufacturer = BasePersonnel & {
  /** 人员类型：1-导演；2-制片人；3-主演；4：演员； */
  staffType: 2;
};
export type Director = BasePersonnel & {
  /** 人员类型：1-导演；2-制片人；3-主演；4：演员； */
  staffType: 1;
  staffId?: string;
};
export type Category = {
  /** 短剧分类id */
  categoryId?: number;
  /** 短剧分类名字 */
  categoryName?: string;
};

export type DamaListRequest = {
  /** 搜索值 */
  dramaTitle: string;
  dramaId?: string;
  /** 搜索分类 */
  categoryId?: number | '';
  /** 上架状态：0-下架；1-上架； */
  status?: '' | 0 | 1;
  /** 短剧更新状态：1-未上映；2-更新中；3-已完结； */
  dramaStatus?: '' | 1 | 2 | 3;
  /** 集数 */
  seqNum?: string;
  /** 当前页码 */
  current: number;
  /** 每页数量 */
  size: number;
};

export type DramaItem = {
  /** 创建时间 */
  createTime: string;
  /** 导演 */
  director: string;
  /** 导演信息 */
  directorInfo: Director | null;
  /** 短剧分类名称（多个逗号隔开） */
  dramaCategoryName: string;
  /** 短剧封面图（多个逗号隔开） */
  dramaCover: string;
  /** 短剧简介（200 汉字以内） */
  dramaDesp: string;
  /** 短剧id  */
  dramaId?: number;
  /** 短剧推荐语（12汉字以内） */
  dramaRecommendation?: string;
  /** 短剧名称 */
  dramaTitle?: string;
  /** 短剧年份 */
  dramaYear?: string;
  /** 备案号 */
  reportNo?: string | null;
  /** 免费集数 */
  freeEpisodeNum?: number | null;
  /** 平均时长,单位秒 */
  avgDuration?: number | null;
  /** 制作成本(万元) */
  productionCost?: number | null;
  /** 演员（多个逗号隔开） */
  performer?: string | null;
  /** 制片人 */
  producer?: string | null;
  /** 制片人 */
  producerInfo?: Cinemanufacturer | null;
  /** 单集价格（人民币） */
  price?: number | null;
  /** 成本配置比例情况图 */
  costDistributionUri?: string | null;
  /** 封面图(抖音专用) */
  dramaCoverDyImage?: string | null;
  /** 发布平台：0-未发布；1-抖音；2-快手  */
  pushPlatform?: number | null;
  /** 发布时间 */
  pushTime?: string | null;
  /** 资质状态：1-未报审；2-报审通过；3-报审不通过；4-不建议报审； */
  qualification?: number | null;
  /** 报审类型：1-许可证号；2-登记号；3-普通备案号；4-重点备案号； */
  reportType?: number | null;
  /** 总集数  */
  seqNum?: number | null;
  /** 上架状态：0-下架；1-上架； */
  status?: number | null;
  wechatStatus?: number | null;
  ksStatus?: number | null;
  dyStatus?: number | null;
  appStatus?: number | null;
  webStatus?: number | null;
  /** 上下架状态文字 */
  statusDesc?: string | null;
  /** 标签（多个逗号隔开） */
  tags?: string | null;
  /** 单集价格（虚拟币）  */
  virtualCoin?: number | null;
  /** 短剧更新状态：1-未上映；2-更新中；3-已完结； */
  dramaStatus?: 1 | 2 | 3 | null;
  /** 短剧更新状态文字 */
  dramaStatusDesc?: string | null;
  /** 缩略图 */
  dramaCoverThumb?: string | null;
  /** 是否热推：0-否；1-是； */
  isRecommend: 0 | 1;
  /** 全集解锁价格（人民币）  */
  allEpisodePrice: number;
  /** 全集虚拟币价格  */
  allEpisodeVirtualCoin: number;
  /** 短剧是否免费：0-不免费；1-免费； */
  isFree: number;
  /** 前多少集可分享解锁  */
  shareUnlockNum: number;
  /** 合作方昵称 */
  // partnerNickname?: string | null;
  /** 微信发布状态：0-待发布；1-发布中；2-发布完成；3-发布失败；4-发布待更新；*/
  wechatPushStatus: 0 | 1 | 2 | 3 | 4;
  /** 抖音发布状态：0-待发布；1-发布中；2-发布完成；3-发布失败；4-发布待更新；*/
  dyPushStatus: 0 | 1 | 2 | 3 | 4;
  /** 快手发布状态：0-待发布；1-发布中；2-发布完成；3-发布失败；4-发布待更新；*/
  ksPushStatus: 0 | 1 | 2 | 3 | 4;
};

export interface DramaEditRequest extends DramaAddRequest {
  /** 短剧id */
  dramaId: number;
}

export type PartnerUser = {
  /** 合作方 昵称 */
  nickname: string;
  /** 合作方 ID */
  userId: number;
};

export interface DramaByIdResponse extends DramaItem {
  /** 短剧分类集合 */
  categoryList: DramaCategoryItem[];
  /** 演员 */
  performerList: string[];
  /** 标签 */
  tagsList: string[];
  /** 合作方 */
  partnerUser: PartnerUser | null;
  /** 制作机构 */
  organizationInfo: Organzation | null;
  /** 演员角色集合  */
  performerRoleList: PerformerRole[] | null;
  /** 授权证明 */
  authorizedUrl: string;
  /** 微信成本配置比例情况图 */
  wechatCostDistributionUri: string;
  /** 抖音承诺书 */
  commitmentStatement?: string;
}

/**
 * 发布平台：1-抖音；2-快手；3-微信；
 */
export type PushPlatform = 1 | 2 | 3;

export type PushThirdPlatform = {
  /**
   * 短剧id
   */
  dramaId: number;
  pushPlatform: PushPlatform;
};

export interface DramaPushRecordResponse {
  /**
   * 短剧剧集列表发布信息
   */
  dramaEpisodePushRecordDetailDTOList?: DramaEpisodePushRecordDetailList[] | null;
  /**
   * 短剧id
   */
  dramaId?: number | null;
  /**
   * 短剧发布记录id
   */
  dramaPushId?: number | null;
  /**
   * 审核失败原因
   */
  failReason?: string | null;
  /**
   * 第三方短剧id
   */
  playletId?: string | null;
  /**
   * 发布平台：1-抖音；2-快手; 3-微信
   */
  pushPlatform?: number | null;
  /**
   * 发布时间
   */
  pushTime?: string | null;
  /**
   * 资质状态：1-未报审；2-报审通过；3-报审不通过；4-不建议报审；
   */
  qualification?: number | null;
  /**
   * 报备号
   */
  reportNo?: string | null;
  /**
   * 报审类型：1-许可证号；2-登记号；3-普通备案号；4-重点备案号；
   */
  onlineStatus?: number | null;
  /**
   * 审核状态： 0-待提审；1-已提审；2-审核通过；3-审核拒绝；4-审核中；5-最终失败；
   */
  verifyStatus?: 0 | 1 | 2 | 3 | 4 | 5;
  /**
   * 发布版本号
   */
  version?: number | null;
  /**
   * 能力列表
   */
  scope?: string;

  /** 剧目审核结果 */
  dramaFailReasonList?: string[];

  /** 剧集审结局哦 */
  episodeFailReasonList?: string[];
}

export interface DramaEpisodePushRecordDetailList {
  /**
   * 封面图（多个逗号隔开）
   */
  episodeCover?: string | null;
  /**
   * 剧集标题
   */
  episodeTitle?: string;
  /**
   * 剧集ID
   */
  episodeId?: number;
  /**
   * 剧集发布ID
   */
  episodePushId?: number;
  /**
   * 发布平台：1-抖音；2-快手
   */
  pushPlatform?: number | null;
  /**
   * 发布状态：0-待上传；1-上传中；2-上传完成；3-上传失败；4-待同步；
   */
  pushStatus?: 0 | 1 | 2 | 3 | 4;
  /**
   * 第三方封面图id
   */
  thirdCoverId?: string | null;
  /**
   * 第三方剧集id
   */
  thirdEpisodeId?: string | null;
  /**
   * 第三方视频id
   */
  thirdVideoId?: string | null;

  /** 审核状态： 0-待提审；1-已提审；2-审核通过；3-审核拒绝；4-审核中；5-最终失败； */
  verifyStatus: 0 | 1 | 2 | 3 | 4 | 5;
  /** 失败原因 */
  failReason?: string | null;

  recordLoading?: boolean;
}

export interface DramaRankListRequest {
  /**
   * 是否升序
   */
  asc?: boolean;
  /**
   * 排序字段名
   */
  column?: string;
  /**
   * 当前页
   */
  current: number;
  /**
   * 短剧id
   */
  dramaId?: string;
  /**
   * 短剧名称
   */
  dramaTitle?: string;
  /**
   * 结束时间
   */
  endDate?: string;
  /**
   * 每页数量
   */
  size: number;
  /**
   * 开始时间
   */
  startDate?: string;
}

export interface DramaRankListItem {
  /**
   * 全集解锁价格（人民币）
   */
  allEpisodePrice?: number;
  /**
   * 全集虚拟币价格
   */
  allEpisodeVirtualCoin?: number;
  /**
   * APP上架状态：0-已下架；1-已上架；
   */
  appStatus?: number;
  /**
   * 平均时长（单位：秒）
   */
  avgDuration?: number;
  /**
   * 成本配置比例情况图
   */
  costDistributionUri?: string;
  /**
   * 创建时间
   */
  createTime?: string;
  /**
   * 导演（多个逗号隔开）
   */
  director?: string;
  /**
   * 短剧分类名称（多个逗号隔开）
   */
  dramaCategoryName?: string;
  /**
   * 短剧封面图（多个逗号隔开）
   */
  dramaCover?: string;
  /**
   * 抖音封面图1:1，2:3，3:4
   */
  dramaCoverDyImage?: string;
  /**
   * 短剧封面缩略图
   */
  dramaCoverThumb?: string;
  /**
   * 短剧简介（200 汉字以内）
   */
  dramaDesp?: string;
  /**
   * 短剧id
   */
  dramaId?: number;
  /**
   * 短剧推荐语（12汉字以内）
   */
  dramaRecommendation?: string;
  /**
   * 短剧更新状态：1-未上映；2-更新中；3-已完结；
   */
  dramaStatus?: number;
  /**
   * 短剧更新状态：1-未上映；2-更新中；3-已完结；
   */
  dramaStatusDesc?: string;
  /**
   * 短剧名称
   */
  dramaTitle?: string;
  /**
   * 短剧年份
   */
  dramaYear?: string;
  /**
   * 抖音发布状态：0-待发布；1-发布中；2-发布完成；3-发布失败；4-发布待更新；
   */
  dyPushStatus?: number;
  /**
   * 抖音上架状态：0-已下架；1-已上架；
   */
  dyStatus?: number;
  /**
   * 免费集数
   */
  freeEpisodeNum?: number;
  /**
   * 短剧是否免费：0-不免费；1-免费；
   */
  isFree?: number;
  /**
   * 是否热推：0-否；1-是；
   */
  isRecommend?: number;
  /**
   * 快手发布状态：0-待发布；1-发布中；2-发布完成；3-发布失败；4-发布待更新；
   */
  ksPushStatus?: number;
  /**
   * 快手上架状态：0-已下架；1-已上架；
   */
  ksStatus?: number;
  /**
   * 演员（多个逗号隔开）
   */
  performer?: string;
  /**
   * 演员角色集合（json）
   */
  performerRole?: string;
  /**
   * 单集价格（人民币）
   */
  price?: number;
  /**
   * 制片人（多个逗号隔开）
   */
  producer?: string;
  /**
   * 制作成本（单位：万）
   */
  productionCost?: number;
  /**
   * 报备号
   */
  reportNo?: string;
  /**
   * 总集数
   */
  seqNum?: number;
  /**
   * 前多少集可分享解锁
   */
  shareUnlockNum?: number;
  /**
   * 上架状态：0-已下架；1-已上架；
   */
  statusDesc?: string;
  /**
   * 标签（多个逗号隔开）
   */
  tags?: string;
  /**
   * 单集虚拟币价格
   */
  virtualCoin?: number;
  /**
   * 网页上架状态：0-已下架；1-已上架；
   */
  webStatus?: number;
  /**
   * 微信发布状态：0-待发布；1-发布中；2-发布完成；3-发布失败；4-发布待更新；
   */
  wechatPushStatus?: number;
  /**
   * 微信上架状态：0-已下架；1-已上架；
   */
  wechatStatus?: number;
}
